#ifndef __M_LEVEL_H__
#define __M_LEVEL_H__

namespace my_log
{
    class LogLevel
    {
    public:
        enum class value
        {
            UNKNOW = 0,
            DEBUG, // 进行debug时候打印日志的等级
            INFO,  // 打印一些用户提示信息
            WARN,  // 打印警告信息
            ERROR, // 打印错误信息
            FATAL, // 打印致命信息
            OFF    // 关闭所有的日志输出
        };
        // 将日志等级转换为字符串
        static const char *toString(LogLevel::value level)
        {
            switch (level)
            {
                case LogLevel::value::DEBUG: return "DEBUG";
                case LogLevel::value::INFO: return "INFO";
                case LogLevel::value::WARN: return "WARN";
                case LogLevel::value::ERROR: return "ERROR";
                case LogLevel::value::FATAL: return "FATAL";
                case LogLevel::value::OFF: return "OFF";
            }
            return "UNKNOW";
        }
    };
}

#endif